package com.anzuo.app

import android.app.Application
import android.content.Context

/**
 * Application类 - 应用的入口点
 * 用于初始化全局组件，如数据库、网络库等
 * 
 * @author AnZuo
 * @date 2024
 */
class AnZuoApplication : Application() {

    companion object {
        // 全局Context实例，方便在其他地方获取
        @Volatile
        private var instance: AnZuoApplication? = null

        /**
         * 获取Application实例
         */
        fun getInstance(): AnZuoApplication {
            return instance ?: throw IllegalStateException("Application not initialized")
        }

        /**
         * 获取Application Context
         */
        fun getContext(): Context {
            return getInstance().applicationContext
        }
    }

    override fun onCreate() {
        super.onCreate()
        instance = this
        
        // 在这里初始化全局组件
        initComponents()
    }

    /**
     * 初始化全局组件
     */
    private fun initComponents() {
        // 可以在这里初始化：
        // - 数据库实例
        // - 网络拦截器
        // - 图片加载库配置
        // - 崩溃收集工具
        // - 其他全局配置
    }
}

